package com.zxlspace.collection2;


import java.util.ArrayList;

/**
 * 通配符？类型不定，使用时确定类型
 * ？使用：声明类型|声明方法，不能声明类或使用时
 * ? extends : <= 上限，指定类型 自身或者子类
 * ? super : >= 下限，指定类型，自身或者父类
 * @param <T>
 */
public class StudentA<T> {
    T score;

    public static void main(String[] args) {
        StudentA<?> student = new StudentA<String>();
        test(new StudentA<Integer>());
        test1(new StudentA<Apple>());
        //test2(new StudentA<Apple>());  泛型不能使用多态
        test3(new StudentA<Fruit>());

    }

    public static void test(StudentA<?> studentA) {
//        Integer a = studentA;
        System.out.println(studentA.score);
    }

    public static void test2(StudentA<Fruit> studentA) {

    }

    //extends <= 上限
    public static void test1(StudentA<? extends  Fruit> studentA) {

    }

    //super >= 下限
    public static void test3(StudentA<? super Fruit> studentA) {

    }
}
